import { defineStore } from "pinia";
import { getUserMenuList } from '@/api'
import { useLocalStorage } from '@/hooks'
const getDefaultState = () => {
  return {
    menuDataList: {}, // 菜单信息
    uploadErrFileName: '', // 上传错误文件的文件名称
    operationWidth: '', // 操作表格的宽度
    pointDialogFormData: [], // 点位维护动态表单列表
    redTideMaintenanceFormData: [], // 赤潮物种维护动态表单列表
    bdhSideBarWidth: '240px', // 北戴河侧边栏宽度
    sidebar: {
      opened: false,
      withoutAnimation: false
    },
    isFormWaterShow: true, // 是否展示水质评价默认字段
    statisticsTypeName: '', // 统计类型名称
    linsChartsListData: [], // 多纵坐标Y轴数据
    renderChartsData: {}, // 当前渲染的图表数据结构
    seleteType: '', // 选中的污染物类别
    roleCheckedNodes: [] // 角色选中的菜单数据集合
  }
}
export const useBdhStore = defineStore({
  id: 'useBdhStore',
  state: () => ({
    ...getDefaultState(),
  }),
  actions: {
    /**
     * 设置北戴河用户列表
     * @returns 
     */
    menuDataListFun() {
      return new Promise((resolve, reject) => {
        getUserMenuList().then((response) => {
          const { data } = response
          this.menuDataList = data
          useLocalStorage.setItem('menuDataList', JSON.stringify(data))
          resolve(data)
        }).catch((error) => {
          reject(error)
        })
      })
    },
  }
})